home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 March / PCWorld_2007-03_cd.bin / komunikace / acehtml / acehtmlfreeware.exe / scriptdef / Encrypt-Decrypt Script.sd < prev    next >
INI File  |  2006-09-13  |  6KB  |  217 lines

  1. [SUBJECT]
  2. Description=Encrypt/Decrypt your messages
  3. ImageIndex=-1
  4. Folder=Tools
  5.  
  6.  
  7. [HEAD_TEXT]
  8. ;<!-- Cut-N-Paste JavaScript from ISN Toolbox 
  9. ;     Copyright 1997, Infohiway, Inc.  Restricted use is hereby
  10. ;     granted (commercial and personal OK) so long as this code
  11. ;     is not *directly* sold and the copyright notice is buried
  12. ;     somewhere deep in your HTML document.  A link to our site
  13. ;     http://www.infohiway.com is always appreciated of course,
  14. ;     but is absolutely and positively not necessary. ;-)   -->
  15. ;<script language="JavaScript">
  16. ;<!-- Hide from JS-Impaired Browsers
  17. ;/* Although the "cs" string is
  18. ;   in ASCII order below, it
  19. ;   can be "scrambled" if you
  20. ;   wish to further complicate
  21. ;   any decryption attempts. */ 
  22. ;bs="\\ ";
  23. ;cs=' !"#$%&';
  24. ;cs+="'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS"
  25. ;+"TUVWXYZ^[_]'abcdefghijklmnopqrstuvwxyz{|}~\t\r\n"+bs;
  26. ;cm=0;
  27. ;cm1=0;
  28. ;cflg="";
  29. ;/* Although this example has been prepared using
  30. ;   a four-bit paradigm, you may elect to alter it
  31. ;   to a 2-bit, 3-bit, 5-bit, etc. paradigm. For
  32. ;   example, a 2 bit paradigm would look like this:
  33. ;   four="00 01 10 11 ";
  34. ;   fourletter="a  b  c  d "
  35. ;   and the code in the encryption and decryption
  36. ;   routines below would need to be altered to
  37. ;   reflect the change in bit paradigm. We've
  38. ;   put comments at the appropriate places.
  39. ;   Caution: don't use a space as a printing character
  40. ;   in your construction of the variable "sixletter".
  41. ;   Some alternates are included here for your own
  42. ;   construction consideration.
  43. ;   sixletter="A    B    C    D    E    F    G    H    "
  44. ;            +"I    J    K    L    M    N    O    P    ";
  45. ;   sixletter=".    ,    /    '    |    _    (    ~    "
  46. ;            +"!    @    ^    *    -    :    ;    ?    "; */
  47. ;sixteen="0000 0001 0010 0011 0100 0101 0110 0111 "
  48. ;       +"1000 1001 1010 1011 1100 1101 1110 1111 ";
  49. ;sixletter=";    .    *    ,    x    (    i    :    "
  50. ;         +"_    -    ^    <    >    '    ~    =    ";
  51. ;
  52. ;function samp(){
  53. ; // First, we grab the two strings
  54. ; ls="";
  55. ; ls1="";
  56. ; kwd=document.ex1.key.value;
  57. ; kwdpd=kwd;
  58. ; msg=document.ex1.ps.value;
  59. ; // Pad key to be long enough for message
  60. ; if (cflg==0){
  61. ;  sl=msg.length;
  62. ;  }
  63. ; else{
  64. ;  sl=msg.length/2;
  65. ;  }
  66. ; while (kwd.length<sl){
  67. ;  kwd+=kwdpd;
  68. ;  }
  69. ; document.ex1.ps.value="I am now converting key and message strings...";
  70. ; if (cflg!=1){
  71. ;  setTimeout("samp2()",1000);
  72. ;  }
  73. ; else{
  74. ;  setTimeout("decryp()",1000);
  75. ;  }
  76. ; }
  77. ;
  78. ;function samp2(){  
  79. ; // Next, convert the 2 strings to binary
  80. ; for (var i=0;i<msg.length;i++){
  81. ;  chk=kwd.charAt(i);
  82. ;  cmk=cs.indexOf(chk)+32;
  83. ;  chm=msg.charAt(i);
  84. ;  cmm=cs.indexOf(chm)+32;
  85. ;  for (var j=7;j>-1;j--){
  86. ;   c=Math.pow(2,j);
  87. ;   if (cmk>=c){
  88. ;    cmk=cmk-c;
  89. ;    ls+="1";
  90. ;    }
  91. ;   else{
  92. ;    ls+="0";
  93. ;    }
  94. ;   if (cmm>=c){
  95. ;    cmm=cmm-c;
  96. ;    ls1+="1";
  97. ;    }
  98. ;   else{
  99. ;    ls1+="0";
  100. ;    }
  101. ;   }
  102. ;  }
  103. ; document.ex1.ps.value="I am now encrypting message string...";
  104. ; setTimeout("samp3()",1000);
  105. ; }
  106. ;
  107. ;function samp3(){
  108. ; // Next, convert the bits using key string
  109. ; ls2="";
  110. ; ls4="";
  111. ; for (var i=0;i<ls1.length;i++){
  112. ;  ch=ls.charAt(i);
  113. ;  ch1=ls1.charAt(i);
  114. ;  if (ch=="0"){
  115. ;   if (ch1=="0"){
  116. ;    ch1="1";
  117. ;    }
  118. ;   else{
  119. ;    ch1="0";
  120. ;    } 
  121. ;   }
  122. ;  ls2+=ch1;
  123. ;  }
  124. ; /* If a different bit paradigm is
  125. ;    used, alter the loop below
  126. ;    accordingly. */
  127. ; for (var i=0;i<ls2.length;i=i+4){
  128. ;  ls3=ls2.substring(i,i+4);
  129. ;  y=sixteen.indexOf(ls3);
  130. ;  ls4+=sixletter.charAt(y);
  131. ;  }
  132. ; document.ex1.ps.value=ls4; 
  133. ; }
  134. ;
  135. ;function decryp(){
  136. ; // Convert the keyword again
  137. ; ls="";
  138. ; for (var i=0;i<kwd.length;i++){
  139. ;  chk=kwd.charAt(i);
  140. ;  cmk=cs.indexOf(chk)+32;
  141. ;  for (var j=7;j>-1;j--){
  142. ;   c=Math.pow(2,j);
  143. ;   if (cmk>=c){
  144. ;    cmk=cmk-c;
  145. ;    ls+="1";
  146. ;    }
  147. ;   else{
  148. ;    ls+="0";
  149. ;    }
  150. ;   }
  151. ;  }
  152. ; document.ex1.ps.value="I am now decrypting message string...";
  153. ; setTimeout("decryp1()",1000);
  154. ; }
  155. ;
  156. ;function decryp1(){
  157. ; /* Next, return msg from 4 bit to 8 bit.
  158. ;    If a different bit paradigm is
  159. ;    used, alter the loop variable below
  160. ;    accordingly. */
  161. ; ls1="";
  162. ; for (var i=0;i<msg.length;i++){
  163. ;  ls3=msg.charAt(i);
  164. ;  y=sixletter.indexOf(ls3);
  165. ;  ls1+=sixteen.substring(y,y+4);
  166. ;  }
  167. ; // Next, convert the bits using key string
  168. ; ls2="";
  169. ; ls4="";
  170. ; for (var i=0;i<ls1.length;i++){
  171. ;  ch=ls.charAt(i);
  172. ;  ch1=ls1.charAt(i);
  173. ;  if (ch=="0"){
  174. ;   if (ch1=="0"){
  175. ;    ch1="1";
  176. ;    }
  177. ;   else{
  178. ;    ch1="0";
  179. ;    } 
  180. ;   }
  181. ;  ls2+=ch1;
  182. ;  }
  183. ; for (var i=0;i<ls2.length;i=i+8){
  184. ;  ls3=ls2.substring(i,i+8);
  185. ;  y=parseInt(ls3,2);
  186. ;  ls4+=cs.charAt(y-32);
  187. ;  }
  188. ; document.ex1.ps.value=ls4; 
  189. ; }
  190. ;
  191. ;// End Hiding -->
  192. ;</script>
  193.  
  194.  
  195.  
  196. [BODY_TEXT]
  197. ;<div align="center">
  198. ;<table border="0" width="500">
  199. ;<tr><td align="center"><font face="Helvetica,Arial,Geneva"><b>`Caption`</b></font><hr noshade></td></tr>
  200. ;<tr><td><font face="Helvetica,Arial,Geneva">
  201. ;<form name="ex1">
  202. ;<b>First: </b>Paste or type your key letter, key word or key phrase here:
  203. ;<br><input type="password" name="key" value="" size="84">
  204. ;<p><b>Second: </b>Paste or type your message to be encrypted here:
  205. ;<br><textarea name="ps" rows="10" cols="75" wrap="virtual"></textarea>
  206. ;<br><b>Third: </b> <input type="button" name="but" value=" Encrypt " onClick="cflg=0;samp()">
  207. ;<br><b>Fourth: </b> <input type="button" name="but1" value=" Decrypt " onClick="cflg=1;samp()"></form>
  208. ;<p>This script also supports multiple (recursive) encryption using the same or different key letters, key words or key phrases for each iteration. The encrypted message length, however, will double with each encryption.</FONT><HR NOSHADE></td></tr>
  209. ;</table>
  210. ;</div>
  211.  
  212. [`Caption`]
  213. Kind=S
  214. Value=A Simple Encryption App Using Bit Swapping
  215.  
  216.  
  217.